#ifndef  __PRINTABLE_H__
#define  __PRINTABLE_H__

#include  <iostream>

template< typename Base>
class Printable: public Base
{
    public:
            Printable( ): Base( )
            {
            }
            Printable( const Printable& printable)
                :Base( printable)
            {
            }
            virtual void print_description( )
            {
                std::cout << Base::getDescription( ) << std::endl;
            }
};

#endif  /*__PRINTABLE_H__*/
